package br.com.iss.transporteCia.view;

import java.awt.GridLayout;
import java.util.List;

import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;

import br.com.iss.transporteCia.model.CrudUtil;
import br.com.iss.transporteCia.model.Motorista;

public class CadastroMotorista extends Cadastro {

	private JLabel tituloIdRegistro = new JLabel("ID");
    private JLabel idRegistro = new JLabel();
    private JLabel tituloNome = new JLabel("*Nome");
    private JTextField nome = new JTextField(16);
    private JLabel tituloRg = new JLabel("*CPF");
    private JTextField cpf = new JTextField();

	public CadastroMotorista(Long idRegistroParaEdicao) {
		super("Cadastro de Motorista");
		getRegistroEdicao(idRegistroParaEdicao);
		adicionaComponentesNaTela();
		addPanelConteudo(panelConteudo);
	}

	public void getRegistroEdicao(Long idRegistroParaEdicao) {
		addMascaraCampos();
		if (idRegistroParaEdicao != 0L) {
			@SuppressWarnings("unchecked")
			Motorista objEdicao = ((List<Motorista>) (Object) CrudUtil.buscar("br.com.iss.transporteCia.model.Motorista", "id", idRegistroParaEdicao)).get(0);

			idRegistro.setText(Long.toString(objEdicao.getId()));
            nome.setText(objEdicao.getNome());
            cpf.setText(objEdicao.getCpf());
		}
	}
	
	public void addMascaraCampos() {
		try {
            javax.swing.text.MaskFormatter textFieldCpf = new javax.swing.text.MaskFormatter("###.###.###-##");
            cpf = new javax.swing.JFormattedTextField(textFieldCpf);
        } catch (Exception e) {
        }
	}

	public void adicionaComponentesNaTela() {
		tituloIdRegistro.setHorizontalAlignment(SwingConstants.CENTER);
		idRegistro.setHorizontalAlignment(SwingConstants.CENTER);
		
		panelConteudo.setLayout(new GridLayout(2, 3, 5, 5)); // linhas-colunas
        //linha 1
        panelConteudo.add(tituloIdRegistro);
        panelConteudo.add(tituloNome);
        panelConteudo.add(tituloRg);
        //linha 2
        panelConteudo.add(idRegistro);
        panelConteudo.add(nome);
        panelConteudo.add(cpf);
	}

	public JLabel getIdRegistro() {
		return idRegistro;
	}

	public JTextField getNome() {
		return nome;
	}

	public JTextField getCpf() {
		return cpf;
	}
}